package com.lq.memo.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

/**
* @ClassName: MemoController
* @Description: 
* @author: Mybatis Generator
* @date 2021年11月05日 上午10:57:05
*/
@Data
@TableName("memo")
@NoArgsConstructor
@AllArgsConstructor
public class Memo {
    /**
    * id
    */
    @TableField("id")
    @JsonSerialize(using=ToStringSerializer.class)
    private String id;

    /**
    * 用户id
    */
    @TableField("user_id")
    @JsonSerialize(using= ToStringSerializer.class)
    private Long userId;

    /**
    * 姓名
    */
    @TableField("name")
    private String name;

    /**
    * 备忘录日期
    */
    @TableField("memo_date")
    private Date memoDate;

    /**
    * 性别(1男2女)
    */
    @TableField("sex")
    private Integer sex;

    /**
    * 日历类型(0农历1新历)
    */
    @TableField("calendar_type")
    private Integer calendarType;

    /**
    * 关系人员id
    */
    @TableField("relation_peopid")
    private String relationPeopid;

    /**
    * 关系,人员关系描述
    */
    @TableField("relation")
    private String relation;

    /**
    * 提醒类型(1邮件,2短信)
    */
    @TableField("remind_type")
    private Integer remindType;

    /**
    * 备注
    */
    @TableField("remarks")
    private String remarks;

    /**
    * 重复方式(0一次性,1每年重复)
    */
    @TableField("repetition")
    private Integer repetition;

    /**
    * 是否删除 0 未删除,1删除 一次性活动的,提醒过后就删除
    */
    @TableField("is_delete")
    private Integer isDelete;

    /**
    * 删除原因
    */
    @TableField("reason_delete")
    private String reasonDelete;

    /**
     * 提醒时间,对应memo_times
     */
    @TableField("remind_times")
    private Integer remindTimes;

    /**
     * 提醒内容(最后提示格式:农历?月日+是name+的+detail+,今天是 月日。不要忘记了哦！)
     */
    @TableField("detail")
    private String detail;

    /**
     * 农历日历
     */
    @TableField(exist = false)
    private List<String> lettuceCalendars;

    /**
     * 新历日历
     */
    @TableField(exist = false)
    private List<String> calendars;

    /**
     * 提醒时间
     */
    @TableField(exist = false)
    private List<Integer> times;

}